/*
 ============================================================================
 Name        : file_read.c
 Author      : jinzhu
 Version     :
 Copyright   : Your copyright notice
 Description : FileRead in C, Ansi-style
 ============================================================================
 */
#include <fcntl.h>		// 提供open()函数
#include <sys/types.h>	// 提供mode_t类型
#include <sys/stat.h>	// 提供open()函数的符号
#include <unistd.h>		// 提供close()函数
#include <stdio.h>

#define LENGTH 2048

int main(void) {
	int f;	// 用于保存文件标示符
	int i;
	char c[LENGTH];

	puts("请输入要保存的文件信息:");

	if ((i = read(0, c, LENGTH)) < 1) // 从标准输入中读取数据,实际长度赋值给i
	{
		perror("读取失败");
		return 1;
	}

	f = open("outfile", O_RDWR | O_CREAT, 0664); 	// 打开或新建一个文件,设置权限
	if (-1 != f)
	{
		if (write(f, c, i) != i) // 将内存块内容写入文件中
		{
			perror("写入失败");
		}
		puts("保存成功");
		close(f);
	}
	else
	{
		perror("打开文件");
	}
	close(f);	// 关闭文件
	return 0;
}
